--local key = KEYS[1]
--local key_req = KEYS[2]
--local key_resp = KEYS[3]

local arg_token = ARGV[1]
local arg_seq = tonumber(ARGV[2])
local arg_data = ARGV[3]
local arg_timeoutTime = ARGV[4]

redis.call('del', KEYS[1]) --key
redis.call('del', KEYS[2]) --key_req
redis.call('del', KEYS[3]) --key_resp

redis.call('hset', KEYS[1], 'token', arg_token) --key
--redis.call('hset', KEYS[1], 'reqSeq', arg_seq) --key
--redis.call('hset', KEYS[1], 'respSeq', 0) --key
redis.call('hset', KEYS[2], arg_seq, arg_data) --key_req

redis.call('EXPIRE', KEYS[1], arg_timeoutTime) --key
redis.call('EXPIRE', KEYS[2], arg_timeoutTime) --key_req
return 'ok'